package com.bootdo.per.service;

import com.bootdo.common.utils.Query;
import com.bootdo.per.domain.TeamDO;
import com.bootdo.system.domain.DeptDO;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

/**
 * 
 * 
 * @author readke
 * @email 1992lcg@163.com
 * @date 2018-06-05 17:51:30
 */
public interface TeamService {
	
	TeamDO get(Long id);
	
	List<TeamDO> list(Map<String, Object> map);
	
	List<TeamDO> listByGroup(Map<String, Object> map);

	int count(Map<String, Object> map);
	
	int save(TeamDO team);
	
	int update(TeamDO team);
	
	int remove(Long id);
	
	int batchRemove(Long[] ids);

	List<DeptDO> listByManager(Long deptId);

	List<DeptDO> listBySupervisor(Long deptId);

	int saveList(List<TeamDO> list);

	int listByGroupCount(Query query);

	int updateList(List<TeamDO> list);

	List<String> deptList(Map<String, Object> map);


	List<Map<String, Object>> getTeamResult(Map<String, Object> map);
	
	//根据年份得到所有团队的团队名
	List<String> getTeamByYear(@Param("year") Integer year);
	
	//根据部门或评分人和年份得到所有团队的团队名
	List<String> getTeamByDeptAndSys(Map<String,Object> map);
	
	//得到所有团队的12个月的分数
	List<TeamDO> listAllScore(@Param("teamName") String teamName);

	List<Map<String, Object>> reportList(Map<String, Object> map);

}
